home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 June / Macworld (1999-06).dmg / Shareware World / Utilities / Compression / MacZip 1.03 final / do_cmd Example next >
Text File  |  1999-03-21  |  3KB  |  109 lines

  1.  
  2. -- Enter here your Commandline
  3. set CommandLine to "zip -r archive *"
  4.  
  5. try
  6.     tell application "MacZip crypt (FAT)"
  7.         activate
  8.         with timeout of 90000 seconds
  9.             -- uncomment the following command to suppress warning 
  10.             -- boxes for switches -m and -df 
  11.             -- do_cmd "NoWarningBoxes"
  12.             do_cmd CommandLine
  13.         end timeout
  14.         quit
  15.     end tell
  16. on error number ErrorNumber
  17.     beep 1
  18.     activate
  19.     -- unfortunately there is a overlap of the errorcodes
  20.     -- so we need to distinguish between zip and unzip
  21.     if CommandLine starts with "zip" then ¬
  22.         ZipErrorHandler(CommandLine, ErrorNumber)
  23.     if CommandLine starts with "unzip" then ¬
  24.         UnzipErrorHandler(CommandLine, ErrorNumber)
  25. end try
  26.  
  27.  
  28.  
  29.  
  30. on ZipErrorHandler(ErrorMessage, ErrorNumber)
  31.     -- Error return values.  The values 0..4 and 12..18 follow the conventions
  32.     -- of PKZIP.   The values 4..10 are all assigned to "insufficient memory"
  33.     -- by PKZIP, so the codes 5..10 are used here for other purposes. 
  34.     try
  35.         set TempErrNum to ErrorNumber
  36.         if ErrorNumber = 80 then set TempErrNum to 19
  37.         item TempErrNum of {¬
  38.             " unknown ", ¬
  39.             " unexpected end of zip file ", ¬
  40.             " zip file structure error ", ¬
  41.             " out of memory ", ¬
  42.             " internal logic error ", ¬
  43.             " entry too large to split ", ¬
  44.             " invalid comment format ", ¬
  45.             " zip test (-T) failed or out of memory ", ¬
  46.             " user interrupt or termination ", ¬
  47.             " error using a temp file ", ¬
  48.             " read or seek error ", ¬
  49.             " nothing to do ", ¬
  50.             " missing or empty zip file ", ¬
  51.             " error writing to a file ", ¬
  52.             " couldn't open to write ", ¬
  53.             " bad command line ", ¬
  54.             " unknown ", ¬
  55.             " could not open a specified file to read ", ¬
  56.             " user hit [command] + [.] to terminate "}
  57.     on error
  58.         set result to "Unknown Error"
  59.     end try
  60.     display dialog ¬
  61.         "Command failed: " & return & "[" & ErrorMessage & ¬
  62.         "]" & return & "\"" & result & " \"" & return ¬
  63.         & "Result Code: " & ErrorNumber buttons {"Ooops"} default button 1 ¬
  64.         with icon stop
  65.     
  66. end ZipErrorHandler
  67.  
  68.  
  69.  
  70.  
  71. on UnzipErrorHandler(ErrorMessage, ErrorNumber)
  72.     try
  73.         set TempErrNum to ErrorNumber
  74.         if ErrorNumber = 50 then set TempErrNum to 12
  75.         if ErrorNumber = 51 then set TempErrNum to 13
  76.         if ErrorNumber = 80 then set TempErrNum to 14
  77.         if ErrorNumber = 81 then set TempErrNum to 15
  78.         if ErrorNumber = 82 then set TempErrNum to 16
  79.         
  80.         item TempErrNum of {¬
  81.             " warning error ", ¬
  82.             " error in zipfile ", ¬
  83.             " severe error in zipfile ", ¬
  84.             " insufficient memory (during initialization) ", ¬
  85.             " insufficient memory (password failure) ", ¬
  86.             " insufficient memory (file decompression) ", ¬
  87.             " insufficient memory (memory decompression) ", ¬
  88.             " insufficient memory (not yet used) ", ¬
  89.             " zipfile not found ", ¬
  90.             " bad or illegal parameters specified ", ¬
  91.             " no files found ", ¬
  92.             "  disk full ", ¬
  93.             "  unexpected EOF ", ¬
  94.             "  user hit [command] + [.] to terminate ", ¬
  95.             "  no files found: all unsup. compr/encrypt. ", ¬
  96.             "  no files found: all had bad password "}
  97.     on error
  98.         set result to "Unknown Error"
  99.     end try
  100.     display dialog ¬
  101.         "Command failed: " & return & "[" & ErrorMessage & ¬
  102.         "]" & return & "\"" & result & " \"" & return ¬
  103.         & "Result Code: " & ErrorNumber buttons {"Ooops"} default button 1 ¬
  104.         with icon stop
  105. end UnzipErrorHandler
  106.  
  107.  
  108.  
  109.